home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / libs / x / generic-.000 next >
Encoding:
Text File  |  1996-11-17  |  6.0 KB  |  122 lines

  1. <html>
  2. <head>
  3. <TITLE>A Generic 3D Graphics Kernel</TITLE>
  4. <body bgcolor="#000020" TEXT="#ffffff" LINK="#f0f000" VLINK="#f0f000" ALINK="#f0f000">
  5.  
  6. <H1>A Generic 3D Graphics Kernel (V1.5)</H1>
  7.  
  8. Current graphic systems (traditional or object-oriented) offer a
  9. certain amount of functionality but also prescribe a lot of impli-
  10. cations, constraints and may not fit a given task. The result is
  11. that in many cases people start from scratch, implement the basic
  12. graphics stuff again and again.<p>
  13.  
  14. The objective of the announced project is to develop a generic 3D
  15. graphics kernel "<em>G</em>" that may be used to implement an own 
  16. system by deriving the generic one. By aggregation and inheritance the 
  17. interfaces and implementations of the generic kernel may be used. 
  18. The generic kernel shall offer a wide functionality consisting of 
  19. unrelated classes that may adaptively be integrated into a specialized
  20. system without run-time and memory overhead.<p>
  21.  
  22. The principal functionality of the system will be [is]:
  23. <ul>
  24. <li>basic parametric aggregates and related operators
  25.   [parametric fix-sized vector, dl list, dynamic list, for-each iterators]
  26. <li>elementary graphical data types: vector (2D, 3D, generic), matrices,
  27.   colors, vertex, etc. and related operators
  28.   [2D, 3D, nD Vector, 4x4, nxn Matrix, "Phong" Surface, RGB color, 
  29.   different vertex types]
  30. <li>essential scene collections (DAG, tree, binary tree, linear list)
  31. <li>basic graphical design patterns such as PHIGS' CSS, or a CGRM 
  32.   environment with its components
  33. <li>basic topological classes with covariant extensibility 
  34.   [1D, 2D, Polyhedron, parametric curve and surface] 
  35. <li>abstract and concrete rendering classes (rendering interfaces,
  36.   camera models, specific rendering primitives, i.e., Quadric for
  37.   ray-tracing)
  38.   [ray-tracing and shading interface, perspectivic and orthographic
  39.   camera model, shader, ray-tracer, quadric, polygon, shading and 
  40.   ray-tracing iterators to be used for cameras and composites, to
  41.   be platform-independent, the specific shading stuff is encapsulated
  42.   in a "device driver" with following realizations until now:
  43.   <ul>
  44.     <li>OpenGL and X11 R4 - R6
  45.     <li>OpenGL and Tk 3.6 - 4.1 (both UNIX and Windows/NT)
  46.   </ul>
  47.   NOTE: OpenGL compatible public domain library Mesa has been
  48.   tested successfully as replacement for OpenGL]
  49. <li>pixel-based output devices [Pixmap, ImageFile]
  50. <li>rendering-independent mathematical stuff, e.g., Splines and free
  51.   form surfaces [solid textures, bump mappings, interpolated spline curves and surfaces]
  52. <li>basic interaction classes (abstract and concrete, e.g., low-level
  53.   event types) [2D mouse and spaceball events, socket encapsulation, 
  54.   pixmap update event, callbacks, abstract input device featuring 
  55.   feedback access and hierarchical organization, input server,
  56.   timer and file input devices]     
  57. <li>utility classes (identification, file formats, user interface 
  58.   integration, generic format converters) [string, SGI-, Targa-, 
  59.   RGBA-file format, Tcl language binding (optional), interpretative
  60.   class system, generic DeltaBlue constraint solver]
  61. </ul>
  62.  
  63. The generic kernel is provided with all sources and <A HREF= 
  64. "http://metallica.prakinf.tu-ilmenau.de/generic/HIER.html">documentation</a>,
  65. and may be used for both commercial and non-commercial projects without restrictions. 
  66.  
  67. For papers discussing the concepts of the G kernel see
  68. <ul>
  69. <li><A HREF="ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/dublin.ps.gz">
  70. A Generic Graphics Kernel and a Customized Derivative</A>
  71. <li><A HREF="ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/springer95.ps.gz">
  72. Issues on Hierarchical Graphical Scenes</A>
  73. <li><A HREF="ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/pilzen96.ps.gz">
  74. Design of Rendering-Independent Topological Types</A>
  75. <li><A HREF="ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/springer96.ps.gz">
  76. A Generic Approach to Computer Graphics</A>
  77. <p>
  78. <li><A HREF="ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/style.ps.gz">
  79. C++ Programming Style Guide for G</A>
  80. </ul>
  81. The generic kernel itself is available via ftp:
  82. <ul>
  83. <li><A HREF= "ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/g1.5.unix.tar.gz">
  84. GENERIC 1.5 UNIX Version (G, GT, GX)</A>
  85. <li><A HREF= "ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/g1.5.dos.tar.gz">
  86. GENERIC 1.5 DOS Version (G, GT, GX)</A><p>
  87. </ul>
  88. Derived kernels until now are:
  89. <ul>
  90. <li><A HREF="http://www.rz.tu-ilmenau.de/~juhu/gx.html">
  91.     GX</a> - an extended ray-tracing kernel by Nguyen Duc Cuong
  92. <li>GT - an NFF compatible ray-tracing kernel for test purposes 
  93.        basing on GX 
  94. <li>GG - a prototype GIS kernel by AED Graphics GmbH
  95. <li><A HREF="http://metallica.prakinf.tu-ilmenau.de/egr.htm">
  96.     EGR GF</a> - an object-oriented commercial semantic kernel for 
  97.        European furniture industry
  98. <li><A HREF="http://metallica.prakinf.tu-ilmenau.de/egr.htm">
  99.    EGR MAF</a> - a distributed Multimedia application framework 
  100. <li><A HREF="http://metallica.prakinf.tu-ilmenau.de/egr.htm">
  101. EGR TIGER</a> - an interpretative OpenGL environment including Motif-like GUI
  102.        functionality and hi-level OpenGL-based kernel for education
  103. </ul>
  104. Kernels in work:
  105. <ul>
  106. <li>GY - a reimplementation of former 3D graphics kernel 
  107. <A HREF="http://metallica.prakinf.tu-ilmenau.de/GOOD.html">YART</a>
  108. <li>PRIMA - a sample implementation of ISO PREMO by DIN
  109. </ul>
  110. To join the G mailing list send a <a href="mailto:ekki@prakinf.tu-ilmenau.de">mail</a>
  111. with subject "<em>subscribe GENERIC mailing list</em>".<p>
  112.  
  113. Special thx goes to Nguyen Duc Cuong (TU Dresden, Germany),
  114. Frank Wicht, Jochen Pohl, Michael Bauroth, Heiko Fischer, Mario Ruebsam, 
  115. Christian Martin (all EasternGraphics, Germany), Pavol Michalik,
  116. Thomas Petzke (both TU Ilmenau), Malte Zoeckler, Roland Wunderling 
  117. (both ZIB Berlin) and <A HREF="http://metallica.prakinf.tu-ilmenau.de/egr.htm">
  118. EasternGraphics GmbH</a>.<p>
  119.  
  120. Comments, extensions and discussions are always welcome.<p>
  121. Copyright 1996 <a href=http://metallica.prakinf.tu-ilmenau.de/ekki.html>Ekkehard 'Ekki' Beier.</a>
  122.